home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1991-06-13 | 12.4 KB | 539 lines |
- Screen Open 0,330,270,16,Lowres
- Rem ************************************
- Rem * *
- Rem * Written By *
- Rem * TONY STREET *
- Rem * Completed 8/7/91 *
- Rem * Second Game Ever *
- Rem * *
- Rem ************************************
- HX=160 : HY=10 : LEV=1 : SCORE=0 : LIFE=3 : HSCORE=0
- Global HX,HY,LEV,SCORE,LIFE,HSCORE
- '
- TITLE
- SR
- '
- Procedure BO1
- Anim Off
- Bob Off 1 : Bob Off 2 : Bob Off 3
- Bob Off 4 : Bob Off 5 : Bob Off 6
- Bob Off 7 : Bob Off 8 : Bob Off 9
- End Proc
- Procedure SHOF
- Bob Off
- Cls 0
- Mvolume 63
- Paper 0
- Pen 1
- Pen 9 : Locate 13,8 : Print "Congratulations"
- Locate 6,12 : Print "You have completed all levels"
- Print
- Print
- Locate 17,16 : Pen 6 : Print "The End "
- Wait 200
- Locate 20,19 : Pen 5 : Print "or "
- Wait 40
- Locate 15,23 : Print "THE BEGINING"
- Wait 250
- LEV=1
- End Proc
- Procedure SR
- STOB:
- If LEV>20 Then SHOF
- Screen Open 0,320,270,16,Lowres
- Mvolume 20
- Hide
- Flash Off
- Cls 0
- Unpack 6 To 0
- Double Buffer
- Get Sprite Palette
- Paper 10
- Pen 11
- Print "SCORE:";SCORE;" High:";HSCORE;" lives:";LIFE
- Print
- If LEV=1 Then LEV1
- If LEV=2 Then LEV1
- If LEV=3 Then LEV2
- If LEV=4 Then LEV3
- If LEV=5 Then LEV3
- If LEV=6 Then LEV4
- If LEV=7 Then LEV5
- If LEV=8 Then LEV6
- If LEV=9 Then LEV5
- If LEV=10 Then LEV7
- If LEV=11 Then LEV8
- If LEV=12 Then LEV9
- If LEV=13 Then LEV10
- If LEV=14 Then LEV8
- If LEV=15 Then LEV11
- If LEV=16 Then LEV12
- If LEV=17 Then LEV7
- If LEV=18 Then LEV10
- If LEV=19 Then LEV14
- If LEV=20 Then LEV15
- A=26 : HX=160 : HY=10
- Bob 10,HX,HY,A
- Do
- HY=HY+1 : Wait 2
- If A=28 Then HX=HX+1
- If A=26 Then HX=HX-1
- If A=29 Then HY=HY+1 : HX=HX-2
- If A=30 Then HY=HY+1 : HX=HX+2
- If Jleft(1) Then A=26
- If Jright(1) Then A=28
- If Jdown(1) Then If A=<26 : A=29 : Else A=30 : End If
- If Bob Col(10,1 To 9) Then Boom : Goto CRASH
- If HY>=230 Then A=36
- Bob 10,HX,HY,A
- If HY>=230 Then Goto FIN1
- If HX>=290 Then A=26
- If HX<=0 Then A=28
- Loop
- FIN1:
- LEV=LEV+1
- BO1
- Bob 11,HX,HY,A
- Put Bob 11
- Bell
- SCORE=SCORE+1
- Paper 10
- Pen 11
- Locate 6,10 : Print "Well Done You Have Completed "
- Print
- Locate 16,12 : Print "Level ";SCORE
- Wait 150
- Goto STOB
- CRASH:
- Do
- For G=HY To 227
- Bob 10,HX,G,32
- If G=>227 Then Goto HOLE
- Wait 1
- Next G
- Loop
- HOLE:
- BO1
- G=234
- Boom
- Channel 10 To Bob 10
- Bob 10,HX,G,33
- Channel 1 To Bob 10
- A$="Anim 8,(33,4)(34,4);"
- Amal 10,A$
- Amal On 10
- Wait 64
- Bob 10,HX,G,35
- LIFE=LIFE-1
- If LIFE=<0 Then Wait 100 : Goto FINISH
- Paper 10
- Pen 11
- Locate 10,10
- Centre "You Lose A Life"
- Wait 150
- Goto STOB
- FINISH:
- Anim Off
- Bob Off
- Cls 0
- Paper 0
- Pen 11
- Locate 16,13 : Print "Game Over"
- Locate 13,15 : Print "Your Score Was";SCORE
- If SCORE>HSCORE Then Locate 13,17 : Print "A New High Score"
- Locate 7,20 : Pen 6 : Print "Press A Key To Restart Game"
- Mvolume 63
- Wait Key
- If SCORE>HSCORE Then HSCORE=SCORE
- LEV=1 : SCORE=0 : LIFE=3
- Goto STOB
- End Proc
- Procedure TITLE
- Music 1
- Tempo 17
- Mvolume 63
- Unpack 7 To 0
- Hide On
- Screen Hide 0
- SLIDE_ON[0]
- Wait 300
- SLIDE_OFF[0]
- Screen Close 0
- '
- Unpack 8 To 0
- Hide On
- Screen Hide 0
- SLIDE_ON[0]
- Wait Key
- SLIDE_OFF[0]
- Screen Close 0
- End Proc
- Procedure SLIDE_ON[NUM]
- Screen Display NUM,500,,,
- Screen Show NUM : Screen To Front NUM
- For LOP=437 To 128 Step -16
- Screen Display NUM,LOP,,,
- Wait Vbl
- Next LOP
- End Proc
- Procedure SLIDE_OFF[NUM]
- Y=50
- For LOP=128 To 432 Step 16
- Screen Display NUM,LOP,Y,,
- Add Y,-14
- Wait Vbl
- Next LOP
- End Proc
- Procedure LEV1
- Channel 1 To Bob 1
- Bob 1,330,75,1
- A$="Loop:Anim 0,(3,4)(4,4):Move -380,0,150:Anim0,(1,4)(2,4):Move 380,0,150;Jump Loop"
- Amal 1,A$
- Amal On 1
- T=Rnd(10)+1 : Wait T
- Channel 2 To Bob 2
- Bob 2,340,120,19
- B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,75:Anim0,(19,2)(20,2)(21,2):Move 400,0,75;Jump Loop"
- Amal 2,B$
- Amal On 2
- End Proc
- Procedure LEV2
- Channel 1 To Bob 1
- Bob 1,330,75,1
- A$="Loop:Anim 0,(3,4)(4,4):Move -380,0,130:Anim0,(1,4)(2,4):Move 380,0,130;Jump Loop"
- Amal 1,A$
- Amal On 1
- T=Rnd(10)+1 : Wait T
- Channel 2 To Bob 2
- Bob 2,340,130,19
- B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,65:Anim0,(19,2)(20,2)(21,2):Move 400,0,65;Jump Loop"
- Amal 2,B$
- Amal On 2
- End Proc
- Procedure LEV3
- Channel 1 To Bob 1
- Bob 1,330,60,1
- A$="Loop:Anim 0,(3,4)(4,4):Move -380,0,150:Anim0,(1,4)(2,4):Move 380,0,150;Jump Loop"
- Amal 1,A$
- Amal On 1
- Wait 20
- Channel 2 To Bob 2
- Bob 2,340,100,19
- B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,90:Anim0,(19,2)(20,2)(21,2):Move 400,0,90;Jump Loop"
- Amal 2,B$
- Amal On 2
- Wait 50
- Channel 4 To Bob 4
- Bob 4,330,150,7
- A$="Loop:Anim 0,(7,2)(8,2):Move -380,0,100:Anim0,(5,2)(6,2):Move 380,0,100;Jump Loop"
- Amal 4,A$
- Amal On 4
- T=Rnd(10)+1 : Wait T
- Channel 5 To Bob 5
- Bob 5,330,170,16
- A$="Loop:Anim 0,(16,2)(17,2)(18,2):Move -380,0,105:Anim0,(13,2)(14,2)(15,2):Move 380,0,105;Jump Loop"
- Amal 5,A$
- Amal On 50
- End Proc
- Procedure LEV4
- Channel 1 To Bob 1
- Bob 1,330,60,1
- A$="Loop:Anim 0,(3,4)(4,4):Move -380,0,130:Anim0,(1,4)(2,4):Move 380,0,130;Jump Loop"
- Amal 1,A$
- Amal On 1
- Wait 20
- Channel 2 To Bob 2
- Bob 2,340,100,19
- B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,70:Anim0,(19,2)(20,2)(21,2):Move 400,0,70;Jump Loop"
- Amal 2,B$
- Amal On 2
- Wait 50
- Channel 4 To Bob 4
- Bob 4,330,150,7
- A$="Loop:Anim 0,(7,2)(8,2):Move -380,0,80:Anim0,(5,2)(6,2):Move 380,0,80;Jump Loop"
- Amal 4,A$
- Amal On 4
- T=Rnd(10)+1 : Wait T
- Channel 5 To Bob 5
- Bob 5,330,170,16
- A$="Loop:Anim 0,(16,2)(17,2)(18,2):Move -380,0,105:Anim0,(13,2)(14,2)(15,2):Move 380,0,105;Jump Loop"
- Amal 5,A$
- Amal On 50
- End Proc
- Procedure LEV5
- Channel 1 To Bob 1
- Bob 1,330,50,1
- A$="Loop:Anim 0,(12,4):Move -380,0,100:Anim0,(11,4):Move 380,0,100;Jump Loop"
- Amal 1,A$
- Amal On 1
- T=Rnd(10)+1 : Wait T
- Channel 2 To Bob 2
- Bob 2,340,80,19
- B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,150:Anim0,(19,2)(20,2)(21,2):Move 400,0,150;Jump Loop"
- Amal 2,B$
- Amal On 2
- T=Rnd(10)+1 : Wait T
- Channel 3 To Bob 3
- Bob 3,330,110,9
- C$="Loop:Amin 0,(10,10):Move -380,0,60:Anim 0,(9,10):Move 380,0,60;Jump Loop"
- Amal 3,C$
- Amal On 3
- T=Rnd(10)+1 : Wait T
- Channel 4 To Bob 4
- Bob 4,330,140,7
- A$="Loop:Anim 0,(7,2)(8,2):Move -380,0,110:Anim0,(5,2)(6,2):Move 380,0,110;Jump Loop"
- Amal 4,A$
- Amal On 4
- T=Rnd(10)+1 : Wait T
- Channel 5 To Bob 5
- Bob 5,330,170,16
- A$="Loop:Anim 0,(16,2)(17,2)(18,2):Move -380,0,105:Anim0,(13,2)(14,2)(15,2):Move 380,0,105;Jump Loop"
- Amal 5,A$
- Amal On 50
- End Proc
- Procedure LEV6
- Channel 1 To Bob 1
- Bob 1,330,50,1
- A$="Loop:Anim 0,(12,4):Move -380,0,100:Anim0,(11,4):Move 380,0,100;Jump Loop"
- Amal 1,A$
- Amal On 1
- T=Rnd(10)+1 : Wait T
- Channel 2 To Bob 2
- Bob 2,340,170,19
- B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,150:Anim0,(19,2)(20,2)(21,2):Move 400,0,150;Jump Loop"
- Amal 2,B$
- Amal On 2
- T=Rnd(10)+1 : Wait T
- Channel 3 To Bob 3
- Bob 3,330,110,9
- C$="Loop:Amin 0,(10,10):Move -380,0,60:Anim 0,(9,10):Move 380,0,60;Jump Loop"
- Amal 3,C$
- Amal On 3
- T=Rnd(10)+1 : Wait T
- Channel 4 To Bob 4
- Bob 4,330,140,7
- A$="Loop:Anim 0,(7,2)(8,2):Move -380,0,110:Anim0,(5,2)(6,2):Move 380,0,110;Jump Loop"
- Amal 4,A$
- Amal On 4
- T=Rnd(10)+1 : Wait T
- Channel 5 To Bob 5
- Bob 5,330,80,16
- A$="Loop:Anim 0,(16,2)(17,2)(18,2):Move -380,0,105:Anim0,(13,2)(14,2)(15,2):Move 380,0,105;Jump Loop"
- Amal 5,A$
- Amal On 50
- End Proc
- Procedure LEV7
- Channel 1 To Bob 1
- Bob 1,330,50,1
- A$="Loop:Anim 0,(12,4):Move -380,0,80:Anim0,(11,4):Move 380,0,80;Jump Loop"
- Amal 1,A$
- Amal On 1
- T=Rnd(10)+1 : Wait T
- Channel 2 To Bob 2
- Bob 2,340,170,19
- B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,150:Anim0,(19,2)(20,2)(21,2):Move 400,0,150;Jump Loop"
- Amal 2,B$
- Amal On 2
- T=Rnd(10)+1 : Wait T
- Channel 3 To Bob 3
- Bob 3,330,110,9
- C$="Loop:Amin 0,(10,10):Move -380,0,60:Anim 0,(9,10):Move 380,0,60;Jump Loop"
- Amal 3,C$
- Amal On 3
- T=Rnd(10)+1 : Wait T
- Channel 4 To Bob 4
- Bob 4,330,70,7
- A$="Loop:Anim 0,(7,2)(8,2):Move -380,0,110:Anim0,(5,2)(6,2):Move 380,0,110;Jump Loop"
- Amal 4,A$
- Amal On 4
- T=Rnd(10)+1 : Wait T
- Channel 5 To Bob 5
- Bob 5,330,80,16
- A$="Loop:Anim 0,(16,2)(17,2)(18,2):Move -380,0,105:Anim0,(13,2)(14,2)(15,2):Move 380,0,105;Jump Loop"
- Amal 5,A$
- Amal On 50
- End Proc
- Procedure LEV8
- Channel 1 To Bob 1
- Bob 1,330,40,1
- A$="Loop:Anim 0,(3,4)(4,4):Move -380,0,150:Anim0,(1,4)(2,4):Move 380,0,150;Jump Loop"
- Amal 1,A$
- Amal On 1
- Channel 2 To Bob 2
- Bob 2,340,80,19
- B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,100:Anim0,(19,2)(20,2)(21,2):Move 400,0,100;Jump Loop"
- Amal 2,B$
- Amal On 2
- Channel 3 To Bob 3
- Bob 3,330,130,1
- A$="Loop:Anim 0,(3,4)(4,4):Move -380,0,150:Anim0,(1,4)(2,4):Move 380,0,150;Jump Loop"
- Amal 3,A$
- Amal On 3
- Channel 4 To Bob 4
- Bob 4,340,170,19
- B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,100:Anim0,(19,2)(20,2)(21,2):Move 400,0,100;Jump Loop"
- Amal 4,B$
- Amal On 4
- End Proc
- Procedure LEV9
- Channel 1 To Bob 1
- Bob 1,330,40,1
- A$="Loop:Anim 0,(3,4)(4,4):Move -380,0,150:Anim0,(1,4)(2,4):Move 380,0,150;Jump Loop"
- Amal 1,A$
- Amal On 1
- Channel 3 To Bob 3
- Bob 3,330,130,1
- A$="Loop:Anim 0,(3,4)(4,4):Move -380,0,150:Anim0,(1,4)(2,4):Move 380,0,150;Jump Loop"
- Amal 3,A$
- Amal On 3
- Wait 100
- Channel 2 To Bob 2
- Bob 2,340,80,19
- B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,100:Anim0,(19,2)(20,2)(21,2):Move 400,0,100;Jump Loop"
- Amal 2,B$
- Amal On 2
- Channel 4 To Bob 4
- Bob 4,340,170,19
- B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,100:Anim0,(19,2)(20,2)(21,2):Move 400,0,100;Jump Loop"
- Amal 4,B$
- Amal On 4
- End Proc
- Procedure LEV10
- Channel 1 To Bob 1
- Bob 1,330,40,1
- A$="Loop:Anim 0,(3,4)(4,4):Move -380,0,150:Anim0,(1,4)(2,4):Move 380,0,150;Jump Loop"
- Amal 1,A$
- Amal On 1
- Channel 3 To Bob 3
- Bob 3,330,130,1
- A$="Loop:Anim 0,(3,4)(4,4):Move -380,0,150:Anim0,(1,4)(2,4):Move 380,0,150;Jump Loop"
- Amal 3,A$
- Amal On 3
- Wait 100
- Channel 2 To Bob 2
- Bob 2,340,80,19
- B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,120:Anim0,(19,2)(20,2)(21,2):Move 400,0,120;Jump Loop"
- Amal 2,B$
- Amal On 2
- Channel 4 To Bob 4
- Bob 4,340,170,19
- B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,120:Anim0,(19,2)(20,2)(21,2):Move 400,0,120;Jump Loop"
- Amal 4,B$
- Amal On 4
- Wait 50
- Channel 5 To Bob 5
- Bob 5,340,100,19
- B$="Loop:Anim 0,(10,2):Move -400,0,60:Anim0,(9,2):Move 400,0,60;Jump Loop"
- Amal 5,B$
- Amal On 5
- End Proc
- Procedure LEV11
- Channel 1 To Bob 1
- Bob 1,330,40,1
- A$="Loop:Anim 0,(3,4)(4,4):Move -380,0,150:Anim0,(1,4)(2,4):Move 380,0,150;Jump Loop"
- Amal 1,A$
- Amal On 1
- Channel 2 To Bob 2
- Bob 2,330,80,16
- A$="Loop:Anim 0,(16,4)(17,4)(18,4):Move -380,0,100:Anim0,(13,4)(14,4)(15,4):Move 380,0,100;Jump Loop"
- Amal 2,A$
- Amal On 2
- Wait 10
- Channel 3 To Bob 3
- Bob 3,330,170,22
- A$="Loop:Anim 0,(22,4)(23,4)(24,4):Move -380,0,120:Anim0,(19,4)(20,4)(21,4):Move 380,0,120;Jump Loop"
- Amal 3,A$
- Amal On 3
- Wait 50
- Channel 4 To Bob 4
- Bob 4,330,100,10
- A$="Loop:Anim 0,(10,4):Move -380,0,80:Anim0,(9,4):Move 380,0,80;Jump Loop"
- Amal 4,A$
- Amal On 4
- Channel 5 To Bob 5
- Bob 5,330,120,12
- A$="Loop:Anim 0,(12,4):Move -380,0,50:Anim0,(11,4):Move 380,0,50;Jump Loop"
- Amal 5,A$
- Amal On 5
- End Proc
- Procedure LEV12
- Channel 1 To Bob 1
- Bob 1,330,40,12
- A$="Loop:Anim 0,(12,4):Move -380,0,50:Anim0,(11,4):Move 380,0,50;Jump Loop"
- Amal 1,A$
- Amal On 1
- Channel 2 To Bob 2
- Bob 2,330,80,16
- A$="Loop:Anim 0,(16,4)(17,4)(18,4):Move -380,0,100:Anim0,(13,4)(14,4)(15,4):Move 380,0,100;Jump Loop"
- Amal 2,A$
- Amal On 2
- Wait 10
- Channel 3 To Bob 3
- Bob 3,330,170,22
- A$="Loop:Anim 0,(22,4)(23,4)(24,4):Move -380,0,120:Anim0,(19,4)(20,4)(21,4):Move 380,0,120;Jump Loop"
- Amal 3,A$
- Amal On 3
- Wait 50
- Channel 4 To Bob 4
- Bob 4,330,100,10
- A$="Loop:Anim 0,(10,4):Move -380,0,80:Anim0,(9,4):Move 380,0,80;Jump Loop"
- Amal 4,A$
- Amal On 4
- Channel 5 To Bob 5
- Bob 5,330,140,3
- A$="Loop:Anim 0,(3,4)(4,4):Move -380,0,150:Anim0,(1,4)(2,4):Move 380,0,150;Jump Loop"
- Amal 5,A$
- Amal On 5
- End Proc
- Procedure LEV14
- Channel 1 To Bob 1
- Bob 1,330,50,12
- A$="Loop:Anim 0,(12,4):Move -380,0,60:Anim0,(11,4):Move 380,0,60;Jump Loop"
- Amal 1,A$
- Amal On 1
- Channel 2 To Bob 2
- Bob 2,330,120,12
- A$="Loop:Anim 0,(12,4):Move -380,0,60:Anim0,(11,4):Move 380,0,60;Jump Loop"
- Amal 2,A$
- Amal On 2
- Wait 50
- Channel 3 To Bob 3
- Bob 3,330,65,12
- A$="Loop:Anim 0,(12,4):Move -380,0,60:Anim0,(11,4):Move 380,0,60;Jump Loop"
- Amal 3,A$
- Amal On 3
- Channel 4 To Bob 4
- Bob 4,330,135,12
- A$="Loop:Anim 0,(12,4):Move -380,0,60:Anim0,(11,4):Move 380,0,60;Jump Loop"
- Amal 4,A$
- Amal On 4
- End Proc
- Procedure LEV15
- Channel 1 To Bob 1
- Bob 1,330,60,12
- A$="Loop:Anim 0,(12,4):Move -380,0,60:Anim0,(11,4):Move 380,0,60;Jump Loop"
- Amal 1,A$
- Amal On 1
- Channel 2 To Bob 2
- Bob 2,330,120,12
- A$="Loop:Anim 0,(12,4):Move -380,0,60:Anim0,(11,4):Move 380,0,60;Jump Loop"
- Amal 2,A$
- Amal On 2
- Wait 50
- Channel 3 To Bob 3
- Bob 3,330,80,12
- A$="Loop:Anim 0,(12,4):Move -380,0,60:Anim0,(11,4):Move 380,0,60;Jump Loop"
- Amal 3,A$
- Amal On 3
- Channel 4 To Bob 4
- Bob 4,330,135,12
- A$="Loop:Anim 0,(12,4):Move -380,0,55:Anim0,(11,4):Move 380,0,55;Jump Loop"
- Amal 4,A$
- Amal On 4
- Wait 50
- Channel 5 To Bob 5
- Bob 5,330,165,16
- A$="Loop: Anim 0,(16,4)(17,4)(18,4) : Move-380,0,260 : Anim 0,(13,4)(14,4)(15,4) : Move 380,0,260;Jump Loop "
- Amal 5,A$
- Amal On 5
- End Proc